In modern electronic devices, power management is becoming ever more important. For example, battery operated devices acquire more computationally intensive features, such as playing video clips. Such computationally intensive features require more power. Yet, at the same time there is a demand for longer stand-by and operating times. Also, for environmental reasons it is important not to needlessly dissipate power.
To reduce the energy use, i.e. the power consumption, of an electronic device, such as an integrated circuit (IC), Dynamic Power Management (DPM) is used. DPM is a technique that dynamically scales the power delivered to an electronic device to such a level that it just meets the varying performance levels required for an application using the electronic device.
The workload of an electronic device changes dynamically while the application is using the electronic device. To scale the power delivered to the electronic device the amount of power needed in the future needs to be predicted. As the future power needs of an electronic device are more accurately predicted, the more power can be saved.
One way of controlling the power for a computer running an application on top of an Operating System (OS) is based on the number of processor clock cycles that were spent in a particular task in the past. The number of clock cycles that were spent in a particular task is determined by the OS. The problem is that determining the number of cycles spent in a task is only triggered by some OS related events, for example, when switching tasks, or when an OS timer tick occurs. Determining the number of cycles spent in a task cannot be done more frequently, because the OS runs in software. As a result the resolution of the data produced by an OS is too low to identify patterns in the power consumption on a time scale with a finer granularity than that allowed by a software program, such as an OS.